import 'package:flutter/material.dart'; // fim简便写法
import 'res/listData.dart';

//  ListView  动态列表

void main() {
  runApp(MyApp());
}

// 基本结构
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text('container  text')),
        body: HomeContent(),
      ),
    );
  }
}


class HomeContent extends StatelessWidget {

  // @override
  // Widget build(BuildContext context) {
  //     return ListView(
  //       children:  this._getData()
  //     );
  // }
  
  // 01 自定义方法
  // List<Widget> _getData(){
  //   return [
  //     ListTile(
  //       title: Text("我是一个列表"),
  //     ),
  //     ListTile(
  //       title: Text("我是一个列表"),
  //     ),
  //     ListTile(
  //       title: Text("我是一个列表"),
  //     )
  //   ];
  // }


  // 02
  // List<Widget> _getData(){
  //   List<Widget> list = new List();
  //   for(var i=0; i<20; i++){
  //     list.add(ListTile(
  //       title: Text("我是第$i个列表"),
  //     ));
  //   }
  //   return list;
  // }

  // 03
  // List<Widget> _getData(){
  //   var tempList = listData.map((value){
  //      return ListTile(
  //        leading: Image.network(value["imagesUrl"]),
  //        title:Text(value["title"]),
  //        subtitle:Text(value["author"]),
  //      );
  //   });
  //   // ('a','c')
  //   return tempList.toList();
  // }


  // 04
  // List list = new List();
  // HomeContent(){
  //   for(var i=0; i<20; i++){
  //     this.list.add("我是第$i个列表");
  //   }
  // }
  // @override
  // Widget build(BuildContext context) {
  //     return ListView.builder(
  //       itemCount: this.list.length,
  //       itemBuilder: (context, index){
  //         return ListTile(
  //           title: Text(this.list[index]),
  //         );
  //       }
  //     );
  // }


// 05
  // @override
  // Widget build(BuildContext context) {
  //     return ListView.builder(
  //       itemCount: listData.length,
  //       itemBuilder: (context, index){
  //         return ListTile(
  //           title: Text(listData[index]['title']),
  //         );
  //       }
  //     );
  // }


  // 06
Widget _getListData(context, index){
    return ListTile(
      title: Text(listData[index]['title']),
      leading: Image.network(listData[index]['imagesUrl']),
      subtitle: Text(listData[index]['author']),
    );
}

  @override
  Widget build(BuildContext context) {
      return ListView.builder(
        itemCount: listData.length,
        itemBuilder: this._getListData
      );
  }



}


